package basis.netease.easy;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 7-16 给定数字组成最大时间
 * 给定一个由 4 位数字组成的数组，返回可以设置的符合 24 小时制的最大时间。
 * 24 小时格式为HH:MM ，其中 HH 在 00 到 23 之间，MM 在 00 到 59 之间。最小的 24 小时制时间是 00:00 ，而最大的是 23:59。
 * 以长度为 5 的字符串，按 HH:MM 格式返回答案。如果不能确定有效时间，则返回空字符串。
 * 输入格式:
 * 4个0~9之间的数字，以,分隔。例如4,2,3,1
 * 输出格式:
 * 23:41
 * 输入样例:
 * 在这里给出一组输入。例如：
 * 4,2,3,1
 * 输出样例:
 * 在这里给出相应的输出。例如：
 * 23:41
 */
public class Main_13 {

    static String ans = "";

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] arr = Arrays.stream(in.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();
        boolean[] visited = new boolean[arr.length];
        perm(visited, arr, "");
        System.out.println(ans.length() == 0 ? "" : ans.substring(0, 2) + ":" + ans.substring(2));
    }


    private static void perm(boolean[] visited, int[] numbers, String current) {
        if (current.length() == numbers.length) {
            if (Integer.parseInt(current.substring(0, 2)) < 24
                    && Integer.parseInt(current.substring(2)) < 60
                    && current.compareTo(ans) > 0) {
                ans = current;
            }
            return;
        }
        for (int i = 0; i < numbers.length; i++) {
            if (visited[i]) {
                continue;
            }
            visited[i] = true;
            perm(visited, numbers, current + numbers[i]);
            visited[i] = false;
        }
    }

}
